home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK2.toast / Development Kits / QuickTime / QuickTime 3 Interfaces & Libs / QTDevMac / PInterfaces / ImageCompression.p < prev    next >
Encoding:
Text File  |  1998-08-21  |  70.4 KB  |  1,537 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        ImageCompression.p
  3.  
  4.      Contains:    QuickTime Image Compression Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ImageCompression;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __IMAGECOMPRESSION__}
  28. {$SETC __IMAGECOMPRESSION__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ImageCompressionIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QDOFFSCREEN__}
  41. {$I QDOffscreen.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __COMPONENTS__}
  44. {$I Components.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __STANDARDFILE__}
  47. {$I StandardFile.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN MAC68K}
  53. {$LibExport+}
  54.  
  55.  
  56. TYPE
  57.     MatrixRecordPtr = ^MatrixRecord;
  58.     MatrixRecord = RECORD
  59.         matrix:                    ARRAY [0..2,0..2] OF Fixed;
  60.     END;
  61.  
  62.  
  63.     FixedPointPtr = ^FixedPoint;
  64.     FixedPoint = RECORD
  65.         x:                        Fixed;
  66.         y:                        Fixed;
  67.     END;
  68.  
  69.  
  70.     FixedRectPtr = ^FixedRect;
  71.     FixedRect = RECORD
  72.         left:                    Fixed;
  73.         top:                    Fixed;
  74.         right:                    Fixed;
  75.         bottom:                    Fixed;
  76.     END;
  77.  
  78.  
  79. CONST
  80.     kRawCodecType                = 'raw ';
  81.     kCinepakCodecType            = 'cvid';
  82.     kGraphicsCodecType            = 'smc ';
  83.     kAnimationCodecType            = 'rle ';
  84.     kVideoCodecType                = 'rpza';
  85.     kComponentVideoCodecType    = 'yuv2';
  86.     kJPEGCodecType                = 'jpeg';
  87.     kMotionJPEGACodecType        = 'mjpa';
  88.     kMotionJPEGBCodecType        = 'mjpb';
  89.     kSGICodecType                = '.SGI';
  90.     kPlanarRGBCodecType            = '8BPS';
  91.     kMacPaintCodecType            = 'PNTG';
  92.     kGIFCodecType                = 'gif ';
  93.     kPhotoCDCodecType            = 'kpcd';
  94.     kQuickDrawGXCodecType        = 'qdgx';
  95.     kAVRJPEGCodecType            = 'avr ';
  96.     kOpenDMLJPEGCodecType        = 'dmb1';
  97.     kBMPCodecType                = 'WRLE';
  98.     kWindowsRawCodecType        = 'WRAW';
  99.     kVectorCodecType            = 'path';
  100.     kQuickDrawCodecType            = 'qdrw';
  101.     kWaterRippleCodecType        = 'ripl';
  102.     kFireCodecType                = 'fire';
  103.     kCloudCodecType                = 'clou';
  104.     kH261CodecType                = 'h261';
  105.     kH263CodecType                = 'h263';
  106.     kDVCNTSCCodecType            = 'dvc ';
  107.     kDVCPALCodecType            = 'dvcp';
  108.     kDVCProNTSCCodecType        = 'dvpn';
  109.     kDVCProPALCodecType            = 'dvpp';
  110.     kBaseCodecType                = 'base';
  111.     kFLCCodecType                = 'flic';
  112.     kTargaCodecType                = 'tga ';                        {     NOTE: despite what might seem obvious from the two constants }
  113.                                                                 {     below and their names, they really are correct. 'yuvu' really  }
  114.                                                                 {     does mean signed, and 'yuvs' really does mean unsigned. Really.  }
  115.     kComponentVideoSigned        = 'yuvu';
  116.     kComponentVideoUnsigned        = 'yuvs';
  117.     kCMYKCodecType                = 'cmyk';
  118.     kMicrosoftVideo1CodecType    = 'msvc';
  119.     kSorensonCodecType            = 'SVQ1';
  120.     kIndeo4CodecType            = 'IV41';
  121.  
  122.  
  123. { one source effects }
  124.     kBlurImageFilterType        = 'blur';
  125.     kSharpenImageFilterType        = 'shrp';
  126.     kEdgeDetectImageFilterType    = 'edge';
  127.     kEmbossImageFilterType        = 'embs';
  128.     kConvolveImageFilterType    = 'genk';
  129.     kAlphaGainImageFilterType    = 'gain';
  130.     kRGBColorBalanceImageFilterType = 'rgbb';
  131.     kHSLColorBalanceImageFilterType = 'hslb';
  132.     kColorSyncImageFilterType    = 'sync';
  133.     kFilmNoiseImageFilterType    = 'fmns';
  134.     kSolarizeImageFilterType    = 'solr';
  135.     kColorTintImageFilterType    = 'tint';
  136.  
  137. { two source effects }
  138.     kAlphaCompositorTransitionType = 'blnd';
  139.     kCrossFadeTransitionType    = 'dslv';
  140.     kChromaKeyTransitionType    = 'ckey';
  141.     kImplodeTransitionType        = 'mplo';
  142.     kExplodeTransitionType        = 'xplo';
  143.     kGradientTransitionType        = 'matt';
  144.     kPushTransitionType            = 'push';
  145.     kSlideTransitionType        = 'slid';
  146.     kWipeTransitionType            = 'smpt';
  147.     kIrisTransitionType            = 'smp2';
  148.     kRadialTransitionType        = 'smp3';
  149.     kMatrixTransitionType        = 'smp4';
  150.  
  151. { These are the bits that are set in the Component flags, and also in the codecInfo struct. }
  152.     codecInfoDoes1                = $00000001;                    {  codec can work with 1-bit pixels  }
  153.     codecInfoDoes2                = $00000002;                    {  codec can work with 2-bit pixels  }
  154.     codecInfoDoes4                = $00000004;                    {  codec can work with 4-bit pixels  }
  155.     codecInfoDoes8                = $00000008;                    {  codec can work with 8-bit pixels  }
  156.     codecInfoDoes16                = $00000010;                    {  codec can work with 16-bit pixels  }
  157.     codecInfoDoes32                = $00000020;                    {  codec can work with 32-bit pixels  }
  158.     codecInfoDoesDither            = $00000040;                    {  codec can do ditherMode  }
  159.     codecInfoDoesStretch        = $00000080;                    {  codec can stretch to arbitrary sizes  }
  160.     codecInfoDoesShrink            = $00000100;                    {  codec can shrink to arbitrary sizes  }
  161.     codecInfoDoesMask            = $00000200;                    {  codec can mask to clipping regions  }
  162.     codecInfoDoesTemporal        = $00000400;                    {  codec can handle temporal redundancy  }
  163.     codecInfoDoesDouble            = $00000800;                    {  codec can stretch to double size exactly  }
  164.     codecInfoDoesQuad            = $00001000;                    {  codec can stretch to quadruple size exactly  }
  165.     codecInfoDoesHalf            = $00002000;                    {  codec can shrink to half size  }
  166.     codecInfoDoesQuarter        = $00004000;                    {  codec can shrink to quarter size  }
  167.     codecInfoDoesRotate            = $00008000;                    {  codec can rotate on decompress  }
  168.     codecInfoDoesHorizFlip        = $00010000;                    {  codec can flip horizontally on decompress  }
  169.     codecInfoDoesVertFlip        = $00020000;                    {  codec can flip vertically on decompress  }
  170.     codecInfoHasEffectParameterList = $00040000;                {  codec implements get effects parameter list call, once was codecInfoDoesSkew  }
  171.     codecInfoDoesBlend            = $00080000;                    {  codec can blend on decompress  }
  172.     codecInfoDoesWarp            = $00100000;                    {  codec can warp arbitrarily on decompress  }
  173.     codecInfoDoesRecompress        = $00200000;                    {  codec can recompress image without accumulating errors  }
  174.     codecInfoDoesSpool            = $00400000;                    {  codec can spool image data  }
  175.     codecInfoDoesRateConstrain    = $00800000;                    {  codec can data rate constrain  }
  176.  
  177.  
  178.     codecInfoDepth1                = $00000001;                    {  compressed data at 1 bpp depth available  }
  179.     codecInfoDepth2                = $00000002;                    {  compressed data at 2 bpp depth available  }
  180.     codecInfoDepth4                = $00000004;                    {  compressed data at 4 bpp depth available  }
  181.     codecInfoDepth8                = $00000008;                    {  compressed data at 8 bpp depth available  }
  182.     codecInfoDepth16            = $00000010;                    {  compressed data at 16 bpp depth available  }
  183.     codecInfoDepth32            = $00000020;                    {  compressed data at 32 bpp depth available  }
  184.     codecInfoDepth24            = $00000040;                    {  compressed data at 24 bpp depth available  }
  185.     codecInfoDepth33            = $00000080;                    {  compressed data at 1 bpp monochrome depth  available  }
  186.     codecInfoDepth34            = $00000100;                    {  compressed data at 2 bpp grayscale depth available  }
  187.     codecInfoDepth36            = $00000200;                    {  compressed data at 4 bpp grayscale depth available  }
  188.     codecInfoDepth40            = $00000400;                    {  compressed data at 8 bpp grayscale depth available  }
  189.     codecInfoStoresClut            = $00000800;                    {  compressed data can have custom cluts  }
  190.     codecInfoDoesLossless        = $00001000;                    {  compressed data can be stored in lossless format  }
  191.     codecInfoSequenceSensitive    = $00002000;                    {  compressed data is sensitive to out of sequence decoding  }
  192.  
  193.  
  194. {  input sequence flags }
  195.     codecFlagUseImageBuffer        = $00000001;                    {  decompress }
  196.     codecFlagUseScreenBuffer    = $00000002;                    {  decompress }
  197.     codecFlagUpdatePrevious        = $00000004;                    {  compress }
  198.     codecFlagNoScreenUpdate        = $00000008;                    {  decompress }
  199.     codecFlagWasCompressed        = $00000010;                    {  compress }
  200.     codecFlagDontOffscreen        = $00000020;                    {  decompress }
  201.     codecFlagUpdatePreviousComp    = $00000040;                    {  compress }
  202.     codecFlagForceKeyFrame        = $00000080;                    {  compress }
  203.     codecFlagOnlyScreenUpdate    = $00000100;                    {  decompress }
  204.     codecFlagLiveGrab            = $00000200;                    {  compress }
  205.     codecFlagDontUseNewImageBuffer = $00000400;                    {  decompress }
  206.     codecFlagInterlaceUpdate    = $00000800;                    {  decompress }
  207.     codecFlagCatchUpDiff        = $00001000;                    {  decompress }
  208.     codecFlagSupportDisable        = $00002000;                    {  decompress }
  209.     codecFlagReenable            = $00004000;                    {  decompress }
  210.  
  211. {  output sequence flags }
  212.     codecFlagOutUpdateOnDataSourceChange = $00000400;
  213.     codecFlagSequenceSensitive    = $00000800;
  214.     codecFlagOutUpdateOnTimeChange = $00001000;
  215.     codecFlagImageBufferNotSourceImage = $00002000;
  216.     codecFlagUsedNewImageBuffer    = $00004000;
  217.     codecFlagUsedImageBuffer    = $00008000;
  218.  
  219.  
  220.  
  221.  
  222.                                                                 {  The minimum data size for spooling in or out data  }
  223.     codecMinimumDataSize        = 32768;
  224.  
  225.  
  226.  
  227.     compressorComponentType        = 'imco';                        {  the type for "Components" which compress images  }
  228.     decompressorComponentType    = 'imdc';                        {  the type for "Components" which decompress images  }
  229.  
  230.  
  231. TYPE
  232.     CompressorComponent                    = Component;
  233.     DecompressorComponent                = Component;
  234.     CodecComponent                        = Component;
  235.  
  236. CONST
  237.     anyCodec                    = 0;                            {  take first working codec of given type  }
  238.     bestSpeedCodec                = -1;                            {  take fastest codec of given type  }
  239.     bestFidelityCodec            = -2;                            {  take codec which is most accurate  }
  240.     bestCompressionCodec        = -3;                            {  take codec of given type that is most accurate  }
  241.  
  242.  
  243. TYPE
  244.     CodecType                            = OSType;
  245.     CodecFlags                            = UInt16;
  246.     CodecQ                                = UInt32;
  247.  
  248. CONST
  249.     codecLosslessQuality        = $00000400;
  250.     codecMaxQuality                = $000003FF;
  251.     codecMinQuality                = $00000000;
  252.     codecLowQuality                = $00000100;
  253.     codecNormalQuality            = $00000200;
  254.     codecHighQuality            = $00000300;
  255.  
  256.     codecLockBitsShieldCursor    = $01;                            {  shield cursor  }
  257.  
  258.     codecCompletionSource        = $01;                            {  asynchronous codec is done with source data  }
  259.     codecCompletionDest            = $02;                            {  asynchronous codec is done with destination data  }
  260.     codecCompletionDontUnshield    = $04;                            {  on dest complete don't unshield cursor  }
  261.     codecCompletionWentOffscreen = $08;                            {  codec used offscreen buffer  }
  262.     codecCompletionUnlockBits    = $10;                            {  on dest complete, call ICMSequenceUnlockBits  }
  263.     codecCompletionForceChainFlush = $20;                        {  ICM needs to flush the whole chain  }
  264.     codecCompletionDropped        = $40;                            {  codec decided to drop this frame  }
  265.  
  266.     codecProgressOpen            = 0;
  267.     codecProgressUpdatePercent    = 1;
  268.     codecProgressClose            = 2;
  269.  
  270.  
  271. TYPE
  272. {$IFC TYPED_FUNCTION_POINTERS}
  273.     ICMDataProcPtr = FUNCTION(VAR dataP: Ptr; bytesNeeded: LONGINT; refcon: LONGINT): OSErr;
  274. {$ELSEC}
  275.     ICMDataProcPtr = ProcPtr;
  276. {$ENDC}
  277.  
  278. {$IFC TYPED_FUNCTION_POINTERS}
  279.     ICMFlushProcPtr = FUNCTION(data: Ptr; bytesAdded: LONGINT; refcon: LONGINT): OSErr;
  280. {$ELSEC}
  281.     ICMFlushProcPtr = ProcPtr;
  282. {$ENDC}
  283.  
  284. {$IFC TYPED_FUNCTION_POINTERS}
  285.     ICMCompletionProcPtr = PROCEDURE(result: OSErr; flags: INTEGER; refcon: LONGINT);
  286. {$ELSEC}
  287.     ICMCompletionProcPtr = ProcPtr;
  288. {$ENDC}
  289.  
  290. {$IFC TYPED_FUNCTION_POINTERS}
  291.     ICMProgressProcPtr = FUNCTION(message: INTEGER; completeness: Fixed; refcon: LONGINT): OSErr;
  292. {$ELSEC}
  293.     ICMProgressProcPtr = ProcPtr;
  294. {$ENDC}
  295.  
  296. {$IFC TYPED_FUNCTION_POINTERS}
  297.     StdPixProcPtr = PROCEDURE(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER);
  298. {$ELSEC}
  299.     StdPixProcPtr = ProcPtr;
  300. {$ENDC}
  301.  
  302. {$IFC TYPED_FUNCTION_POINTERS}
  303.     QDPixProcPtr = PROCEDURE(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER);
  304. {$ELSEC}
  305.     QDPixProcPtr = ProcPtr;
  306. {$ENDC}
  307.  
  308. {$IFC TYPED_FUNCTION_POINTERS}
  309.     ICMAlignmentProcPtr = PROCEDURE(VAR rp: Rect; refcon: LONGINT);
  310. {$ELSEC}
  311.     ICMAlignmentProcPtr = ProcPtr;
  312. {$ENDC}
  313.  
  314. {$IFC TYPED_FUNCTION_POINTERS}
  315.     ICMCursorShieldedProcPtr = PROCEDURE((CONST)VAR r: Rect; refcon: UNIV Ptr; flags: LONGINT);
  316. {$ELSEC}
  317.     ICMCursorShieldedProcPtr = ProcPtr;
  318. {$ENDC}
  319.  
  320. {$IFC TYPED_FUNCTION_POINTERS}
  321.     ICMMemoryDisposedProcPtr = PROCEDURE(memoryBlock: Ptr; refcon: UNIV Ptr);
  322. {$ELSEC}
  323.     ICMMemoryDisposedProcPtr = ProcPtr;
  324. {$ENDC}
  325.  
  326.     ICMCursorNotify                        = Ptr;
  327. {$IFC TYPED_FUNCTION_POINTERS}
  328.     ICMConvertDataFormatProcPtr = FUNCTION(refCon: UNIV Ptr; flags: LONGINT; desiredFormat: Handle; sourceDataFormat: Handle; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): OSErr;
  329. {$ELSEC}
  330.     ICMConvertDataFormatProcPtr = ProcPtr;
  331. {$ENDC}
  332.  
  333.     ICMDataUPP = UniversalProcPtr;
  334.     ICMFlushUPP = UniversalProcPtr;
  335.     ICMCompletionUPP = UniversalProcPtr;
  336.     ICMProgressUPP = UniversalProcPtr;
  337.     StdPixUPP = UniversalProcPtr;
  338.     QDPixUPP = UniversalProcPtr;
  339.     ICMAlignmentUPP = UniversalProcPtr;
  340.     ICMCursorShieldedUPP = UniversalProcPtr;
  341.     ICMMemoryDisposedUPP = UniversalProcPtr;
  342.     ICMConvertDataFormatUPP = UniversalProcPtr;
  343.     ImageSequence                        = LONGINT;
  344.     ImageSequenceDataSource                = LONGINT;
  345.     ImageTranscodeSequence                = LONGINT;
  346.     ImageFieldSequence                    = LONGINT;
  347.     ICMProgressProcRecordPtr = ^ICMProgressProcRecord;
  348.     ICMProgressProcRecord = RECORD
  349.         progressProc:            ICMProgressUPP;
  350.         progressRefCon:            LONGINT;
  351.     END;
  352.  
  353.     ICMCompletionProcRecordPtr = ^ICMCompletionProcRecord;
  354.     ICMCompletionProcRecord = RECORD
  355.         completionProc:            ICMCompletionUPP;
  356.         completionRefCon:        LONGINT;
  357.     END;
  358.  
  359.     ICMDataProcRecordPtr = ^ICMDataProcRecord;
  360.     ICMDataProcRecord = RECORD
  361.         dataProc:                ICMDataUPP;
  362.         dataRefCon:                LONGINT;
  363.     END;
  364.  
  365.     ICMFlushProcRecordPtr = ^ICMFlushProcRecord;
  366.     ICMFlushProcRecord = RECORD
  367.         flushProc:                ICMFlushUPP;
  368.         flushRefCon:            LONGINT;
  369.     END;
  370.  
  371.     ICMAlignmentProcRecordPtr = ^ICMAlignmentProcRecord;
  372.     ICMAlignmentProcRecord = RECORD
  373.         alignmentProc:            ICMAlignmentUPP;
  374.         alignmentRefCon:        LONGINT;
  375.     END;
  376.  
  377.     DataRateParamsPtr = ^DataRateParams;
  378.     DataRateParams = RECORD
  379.         dataRate:                LONGINT;
  380.         dataOverrun:            LONGINT;
  381.         frameDuration:            LONGINT;
  382.         keyFrameRate:            LONGINT;
  383.         minSpatialQuality:        CodecQ;
  384.         minTemporalQuality:        CodecQ;
  385.     END;
  386.  
  387.     ImageDescriptionPtr = ^ImageDescription;
  388.     ImageDescription = PACKED RECORD
  389.         idSize:                    LONGINT;                                {  total size of ImageDescription including extra data ( CLUTs and other per sequence data )  }
  390.         cType:                    CodecType;                                {  what kind of codec compressed this data  }
  391.         resvd1:                    LONGINT;                                {  reserved for Apple use  }
  392.         resvd2:                    INTEGER;                                {  reserved for Apple use  }
  393.         dataRefIndex:            INTEGER;                                {  set to zero   }
  394.         version:                INTEGER;                                {  which version is this data  }
  395.         revisionLevel:            INTEGER;                                {  what version of that codec did this  }
  396.         vendor:                    LONGINT;                                {  whose  codec compressed this data  }
  397.         temporalQuality:        CodecQ;                                    {  what was the temporal quality factor   }
  398.         spatialQuality:            CodecQ;                                    {  what was the spatial quality factor  }
  399.         width:                    INTEGER;                                {  how many pixels wide is this data  }
  400.         height:                    INTEGER;                                {  how many pixels high is this data  }
  401.         hRes:                    Fixed;                                    {  horizontal resolution  }
  402.         vRes:                    Fixed;                                    {  vertical resolution  }
  403.         dataSize:                LONGINT;                                {  if known, the size of data for this image descriptor  }
  404.         frameCount:                INTEGER;                                {  number of frames this description applies to  }
  405.         name:                    Str31;                                    {  name of codec ( in case not installed )   }
  406.         depth:                    INTEGER;                                {  what depth is this data (1-32) or ( 33-40 grayscale )  }
  407.         clutID:                    INTEGER;                                {  clut id or if 0 clut follows  or -1 if no clut  }
  408.     END;
  409.  
  410.     ImageDescriptionHandle                = ^ImageDescriptionPtr;
  411.     CodecInfoPtr = ^CodecInfo;
  412.     CodecInfo = PACKED RECORD
  413.         typeName:                Str31;                                    {  name of the codec type i.e.: 'Apple Image Compression'  }
  414.         version:                INTEGER;                                {  version of the codec data that this codec knows about  }
  415.         revisionLevel:            INTEGER;                                {  revision level of this codec i.e: 0x00010001 (1.0.1)  }
  416.         vendor:                    LONGINT;                                {  Maker of this codec i.e: 'appl'  }
  417.         decompressFlags:        LONGINT;                                {  codecInfo flags for decompression capabilities  }
  418.         compressFlags:            LONGINT;                                {  codecInfo flags for compression capabilities  }
  419.         formatFlags:            LONGINT;                                {  codecInfo flags for compression format details  }
  420.         compressionAccuracy:    UInt8;                                    {  measure (1-255) of accuracy of this codec for compress (0 if unknown)  }
  421.         decompressionAccuracy:    UInt8;                                    {  measure (1-255) of accuracy of this codec for decompress (0 if unknown)  }
  422.         compressionSpeed:        UInt16;                                    {  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)   }
  423.         decompressionSpeed:        UInt16;                                    {  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)   }
  424.         compressionLevel:        UInt8;                                    {  measure (1-255) of compression level of this codec (0 if unknown)   }
  425.         resvd:                    UInt8;                                    {  pad  }
  426.         minimumHeight:            INTEGER;                                {  minimum height of image (block size)  }
  427.         minimumWidth:            INTEGER;                                {  minimum width of image (block size)  }
  428.         decompressPipelineLatency: INTEGER;                                {  in milliseconds ( for asynchronous codecs )  }
  429.         compressPipelineLatency: INTEGER;                                {  in milliseconds ( for asynchronous codecs )  }
  430.         privateData:            LONGINT;
  431.     END;
  432.  
  433.     CodecNameSpecPtr = ^CodecNameSpec;
  434.     CodecNameSpec = RECORD
  435.         codec:                    CodecComponent;
  436.         cType:                    CodecType;
  437.         typeName:                Str31;
  438.         name:                    Handle;
  439.     END;
  440.  
  441.     CodecNameSpecListPtr = ^CodecNameSpecList;
  442.     CodecNameSpecList = RECORD
  443.         count:                    INTEGER;
  444.         list:                    ARRAY [0..0] OF CodecNameSpec;
  445.     END;
  446.  
  447.  
  448. CONST
  449.     defaultDither                = 0;
  450.     forceDither                    = 1;
  451.     suppressDither                = 2;
  452.     useColorMatching            = 4;
  453.  
  454.     callStdBits                    = 1;
  455.     callOldBits                    = 2;
  456.     noDefaultOpcodes            = 4;
  457.  
  458.     graphicsModeStraightAlpha    = 256;
  459.     graphicsModePreWhiteAlpha    = 257;
  460.     graphicsModePreBlackAlpha    = 258;
  461.     graphicsModeComposition        = 259;
  462.     graphicsModeStraightAlphaBlend = 260;
  463.     graphicsModePreMulColorAlpha = 261;
  464.  
  465.     evenField1ToEvenFieldOut    = $01;
  466.     evenField1ToOddFieldOut        = $02;
  467.     oddField1ToEvenFieldOut        = $04;
  468.     oddField1ToOddFieldOut        = $08;
  469.     evenField2ToEvenFieldOut    = $10;
  470.     evenField2ToOddFieldOut        = $20;
  471.     oddField2ToEvenFieldOut        = $40;
  472.     oddField2ToOddFieldOut        = $80;
  473.  
  474.     icmFrameTimeHasVirtualStartTimeAndDuration = $01;
  475.  
  476.  
  477. TYPE
  478.     ICMFrameTimeRecordPtr = ^ICMFrameTimeRecord;
  479.     ICMFrameTimeRecord = RECORD
  480.         value:                    wide;                                    {  frame time }
  481.         scale:                    LONGINT;                                {  timescale of value/duration fields }
  482.         base:                    Ptr;                                    {  timebase }
  483.         duration:                LONGINT;                                {  duration frame is to be displayed (0 if unknown) }
  484.         rate:                    Fixed;                                    {  rate of timebase relative to wall-time }
  485.         recordSize:                LONGINT;                                {  total number of bytes in ICMFrameTimeRecord }
  486.         frameNumber:            LONGINT;                                {  number of frame, zero if not known }
  487.         flags:                    LONGINT;
  488.         virtualStartTime:        wide;                                    {  conceptual start time }
  489.         virtualDuration:        LONGINT;                                {  conceptual duration }
  490.     END;
  491.  
  492.     ICMFrameTimePtr                        = ^ICMFrameTimeRecord;
  493.  
  494. CONST
  495.     uppICMDataProcInfo = $00000FE0;
  496.     uppICMFlushProcInfo = $00000FE0;
  497.     uppICMCompletionProcInfo = $00000E80;
  498.     uppICMProgressProcInfo = $00000FA0;
  499.     uppStdPixProcInfo = $002FEFC0;
  500.     uppQDPixProcInfo = $002FEFC0;
  501.     uppICMAlignmentProcInfo = $000003C0;
  502.     uppICMCursorShieldedProcInfo = $00000FC0;
  503.     uppICMMemoryDisposedProcInfo = $000003C0;
  504.     uppICMConvertDataFormatProcInfo = $003FFFE0;
  505.  
  506. FUNCTION NewICMDataProc(userRoutine: ICMDataProcPtr): ICMDataUPP;
  507.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  508.     INLINE $2E9F;
  509.     {$ENDC}
  510.  
  511. FUNCTION NewICMFlushProc(userRoutine: ICMFlushProcPtr): ICMFlushUPP;
  512.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  513.     INLINE $2E9F;
  514.     {$ENDC}
  515.  
  516. FUNCTION NewICMCompletionProc(userRoutine: ICMCompletionProcPtr): ICMCompletionUPP;
  517.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  518.     INLINE $2E9F;
  519.     {$ENDC}
  520.  
  521. FUNCTION NewICMProgressProc(userRoutine: ICMProgressProcPtr): ICMProgressUPP;
  522.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  523.     INLINE $2E9F;
  524.     {$ENDC}
  525.  
  526. FUNCTION NewStdPixProc(userRoutine: StdPixProcPtr): StdPixUPP;
  527.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  528.     INLINE $2E9F;
  529.     {$ENDC}
  530.  
  531. FUNCTION NewQDPixProc(userRoutine: QDPixProcPtr): QDPixUPP;
  532.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  533.     INLINE $2E9F;
  534.     {$ENDC}
  535.  
  536. FUNCTION NewICMAlignmentProc(userRoutine: ICMAlignmentProcPtr): ICMAlignmentUPP;
  537.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  538.     INLINE $2E9F;
  539.     {$ENDC}
  540.  
  541. FUNCTION NewICMCursorShieldedProc(userRoutine: ICMCursorShieldedProcPtr): ICMCursorShieldedUPP;
  542.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  543.     INLINE $2E9F;
  544.     {$ENDC}
  545.  
  546. FUNCTION NewICMMemoryDisposedProc(userRoutine: ICMMemoryDisposedProcPtr): ICMMemoryDisposedUPP;
  547.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  548.     INLINE $2E9F;
  549.     {$ENDC}
  550.  
  551. FUNCTION NewICMConvertDataFormatProc(userRoutine: ICMConvertDataFormatProcPtr): ICMConvertDataFormatUPP;
  552.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  553.     INLINE $2E9F;
  554.     {$ENDC}
  555.  
  556. FUNCTION CallICMDataProc(VAR dataP: Ptr; bytesNeeded: LONGINT; refcon: LONGINT; userRoutine: ICMDataUPP): OSErr;
  557.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  558.     INLINE $205F, $4E90;
  559.     {$ENDC}
  560.  
  561. FUNCTION CallICMFlushProc(data: Ptr; bytesAdded: LONGINT; refcon: LONGINT; userRoutine: ICMFlushUPP): OSErr;
  562.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  563.     INLINE $205F, $4E90;
  564.     {$ENDC}
  565.  
  566. PROCEDURE CallICMCompletionProc(result: OSErr; flags: INTEGER; refcon: LONGINT; userRoutine: ICMCompletionUPP);
  567.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  568.     INLINE $205F, $4E90;
  569.     {$ENDC}
  570.  
  571. FUNCTION CallICMProgressProc(message: INTEGER; completeness: Fixed; refcon: LONGINT; userRoutine: ICMProgressUPP): OSErr;
  572.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  573.     INLINE $205F, $4E90;
  574.     {$ENDC}
  575.  
  576. PROCEDURE CallStdPixProc(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER; userRoutine: StdPixUPP);
  577.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  578.     INLINE $205F, $4E90;
  579.     {$ENDC}
  580.  
  581. PROCEDURE CallQDPixProc(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER; userRoutine: QDPixUPP);
  582.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  583.     INLINE $205F, $4E90;
  584.     {$ENDC}
  585.  
  586. PROCEDURE CallICMAlignmentProc(VAR rp: Rect; refcon: LONGINT; userRoutine: ICMAlignmentUPP);
  587.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  588.     INLINE $205F, $4E90;
  589.     {$ENDC}
  590.  
  591. PROCEDURE CallICMCursorShieldedProc({CONST}VAR r: Rect; refcon: UNIV Ptr; flags: LONGINT; userRoutine: ICMCursorShieldedUPP);
  592.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  593.     INLINE $205F, $4E90;
  594.     {$ENDC}
  595.  
  596. PROCEDURE CallICMMemoryDisposedProc(memoryBlock: Ptr; refcon: UNIV Ptr; userRoutine: ICMMemoryDisposedUPP);
  597.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  598.     INLINE $205F, $4E90;
  599.     {$ENDC}
  600.  
  601. FUNCTION CallICMConvertDataFormatProc(refCon: UNIV Ptr; flags: LONGINT; desiredFormat: Handle; sourceDataFormat: Handle; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT; userRoutine: ICMConvertDataFormatUPP): OSErr;
  602.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  603.     INLINE $205F, $4E90;
  604.     {$ENDC}
  605.  
  606. FUNCTION CodecManagerVersion(VAR version: LONGINT): OSErr;
  607.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  608.     INLINE $7000, $AAA3;
  609.     {$ENDC}
  610. FUNCTION GetCodecNameList(VAR list: CodecNameSpecListPtr; showAll: INTEGER): OSErr;
  611.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  612.     INLINE $7001, $AAA3;
  613.     {$ENDC}
  614. FUNCTION DisposeCodecNameList(list: CodecNameSpecListPtr): OSErr;
  615.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  616.     INLINE $700F, $AAA3;
  617.     {$ENDC}
  618. FUNCTION GetCodecInfo(VAR info: CodecInfo; cType: CodecType; codec: CodecComponent): OSErr;
  619.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  620.     INLINE $7003, $AAA3;
  621.     {$ENDC}
  622. FUNCTION GetMaxCompressionSize(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; quality: CodecQ; cType: CodecType; codec: CompressorComponent; VAR size: LONGINT): OSErr;
  623.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  624.     INLINE $7004, $AAA3;
  625.     {$ENDC}
  626. FUNCTION GetCSequenceMaxCompressionSize(seqID: ImageSequence; src: PixMapHandle; VAR size: LONGINT): OSErr;
  627.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  628.     INLINE $203C, $000C, $0074, $AAA3;
  629.     {$ENDC}
  630. FUNCTION GetCompressionTime(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; cType: CodecType; codec: CompressorComponent; VAR spatialQuality: CodecQ; VAR temporalQuality: CodecQ; VAR compressTime: UInt32): OSErr;
  631.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  632.     INLINE $7005, $AAA3;
  633.     {$ENDC}
  634. FUNCTION CompressImage(src: PixMapHandle; {CONST}VAR srcRect: Rect; quality: CodecQ; cType: CodecType; desc: ImageDescriptionHandle; data: Ptr): OSErr;
  635.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  636.     INLINE $7006, $AAA3;
  637.     {$ENDC}
  638. FUNCTION FCompressImage(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; quality: CodecQ; cType: CodecType; codec: CompressorComponent; ctable: CTabHandle; flags: CodecFlags; bufferSize: LONGINT; flushProc: ICMFlushProcRecordPtr; progressProc: ICMProgressProcRecordPtr; desc: ImageDescriptionHandle; data: Ptr): OSErr;
  639.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  640.     INLINE $7007, $AAA3;
  641.     {$ENDC}
  642. FUNCTION DecompressImage(data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; mode: INTEGER; mask: RgnHandle): OSErr;
  643.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  644.     INLINE $7008, $AAA3;
  645.     {$ENDC}
  646. FUNCTION FDecompressImage(data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; matte: PixMapHandle; {CONST}VAR matteRect: Rect; accuracy: CodecQ; codec: DecompressorComponent; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr): OSErr;
  647.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  648.     INLINE $7009, $AAA3;
  649.     {$ENDC}
  650. FUNCTION CompressSequenceBegin(VAR seqID: ImageSequence; src: PixMapHandle; prev: PixMapHandle; {CONST}VAR srcRect: Rect; {CONST}VAR prevRect: Rect; colorDepth: INTEGER; cType: CodecType; codec: CompressorComponent; spatialQuality: CodecQ; temporalQuality: CodecQ; keyFrameRate: LONGINT; ctable: CTabHandle; flags: CodecFlags; desc: ImageDescriptionHandle): OSErr;
  651.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  652.     INLINE $700A, $AAA3;
  653.     {$ENDC}
  654. FUNCTION CompressSequenceFrame(seqID: ImageSequence; src: PixMapHandle; {CONST}VAR srcRect: Rect; flags: CodecFlags; data: Ptr; VAR dataSize: LONGINT; VAR similarity: UInt8; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  655.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  656.     INLINE $700B, $AAA3;
  657.     {$ENDC}
  658. FUNCTION DecompressSequenceBegin(VAR seqID: ImageSequence; desc: ImageDescriptionHandle; port: CGrafPtr; gdh: GDHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent): OSErr;
  659.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  660.     INLINE $700D, $AAA3;
  661.     {$ENDC}
  662. FUNCTION DecompressSequenceBeginS(VAR seqID: ImageSequence; desc: ImageDescriptionHandle; data: Ptr; dataSize: LONGINT; port: CGrafPtr; gdh: GDHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent): OSErr;
  663.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  664.     INLINE $203C, $0030, $005D, $AAA3;
  665.     {$ENDC}
  666. FUNCTION DecompressSequenceFrame(seqID: ImageSequence; data: Ptr; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  667.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  668.     INLINE $700E, $AAA3;
  669.     {$ENDC}
  670. FUNCTION DecompressSequenceFrameS(seqID: ImageSequence; data: Ptr; dataSize: LONGINT; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  671.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  672.     INLINE $203C, $0016, $0047, $AAA3;
  673.     {$ENDC}
  674. FUNCTION DecompressSequenceFrameWhen(seqID: ImageSequence; data: Ptr; dataSize: LONGINT; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr; {CONST}VAR frameTime: ICMFrameTimeRecord): OSErr;
  675.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  676.     INLINE $203C, $001A, $005E, $AAA3;
  677.     {$ENDC}
  678. FUNCTION CDSequenceFlush(seqID: ImageSequence): OSErr;
  679.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  680.     INLINE $203C, $0004, $005F, $AAA3;
  681.     {$ENDC}
  682. FUNCTION SetDSequenceMatrix(seqID: ImageSequence; matrix: MatrixRecordPtr): OSErr;
  683.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  684.     INLINE $7010, $AAA3;
  685.     {$ENDC}
  686. FUNCTION SetDSequenceMatte(seqID: ImageSequence; matte: PixMapHandle; {CONST}VAR matteRect: Rect): OSErr;
  687.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  688.     INLINE $7011, $AAA3;
  689.     {$ENDC}
  690. FUNCTION SetDSequenceMask(seqID: ImageSequence; mask: RgnHandle): OSErr;
  691.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  692.     INLINE $7012, $AAA3;
  693.     {$ENDC}
  694. FUNCTION SetDSequenceTransferMode(seqID: ImageSequence; mode: INTEGER; {CONST}VAR opColor: RGBColor): OSErr;
  695.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  696.     INLINE $7013, $AAA3;
  697.     {$ENDC}
  698. FUNCTION SetDSequenceDataProc(seqID: ImageSequence; dataProc: ICMDataProcRecordPtr; bufferSize: LONGINT): OSErr;
  699.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  700.     INLINE $7014, $AAA3;
  701.     {$ENDC}
  702. FUNCTION SetDSequenceAccuracy(seqID: ImageSequence; accuracy: CodecQ): OSErr;
  703.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  704.     INLINE $7034, $AAA3;
  705.     {$ENDC}
  706. FUNCTION SetDSequenceSrcRect(seqID: ImageSequence; {CONST}VAR srcRect: Rect): OSErr;
  707.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  708.     INLINE $7035, $AAA3;
  709.     {$ENDC}
  710.  
  711. FUNCTION GetDSequenceImageBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  712.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  713.     INLINE $7015, $AAA3;
  714.     {$ENDC}
  715. FUNCTION GetDSequenceScreenBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  716.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  717.     INLINE $7016, $AAA3;
  718.     {$ENDC}
  719. FUNCTION SetCSequenceQuality(seqID: ImageSequence; spatialQuality: CodecQ; temporalQuality: CodecQ): OSErr;
  720.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  721.     INLINE $7017, $AAA3;
  722.     {$ENDC}
  723. FUNCTION SetCSequencePrev(seqID: ImageSequence; prev: PixMapHandle; {CONST}VAR prevRect: Rect): OSErr;
  724.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  725.     INLINE $7018, $AAA3;
  726.     {$ENDC}
  727. FUNCTION SetCSequenceFlushProc(seqID: ImageSequence; flushProc: ICMFlushProcRecordPtr; bufferSize: LONGINT): OSErr;
  728.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  729.     INLINE $7033, $AAA3;
  730.     {$ENDC}
  731. FUNCTION SetCSequenceKeyFrameRate(seqID: ImageSequence; keyFrameRate: LONGINT): OSErr;
  732.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  733.     INLINE $7036, $AAA3;
  734.     {$ENDC}
  735. FUNCTION GetCSequenceKeyFrameRate(seqID: ImageSequence; VAR keyFrameRate: LONGINT): OSErr;
  736.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  737.     INLINE $203C, $0008, $004B, $AAA3;
  738.     {$ENDC}
  739. FUNCTION GetCSequencePrevBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  740.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  741.     INLINE $7019, $AAA3;
  742.     {$ENDC}
  743. FUNCTION CDSequenceBusy(seqID: ImageSequence): OSErr;
  744.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  745.     INLINE $701A, $AAA3;
  746.     {$ENDC}
  747. FUNCTION CDSequenceEnd(seqID: ImageSequence): OSErr;
  748.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  749.     INLINE $701B, $AAA3;
  750.     {$ENDC}
  751. FUNCTION CDSequenceEquivalentImageDescription(seqID: ImageSequence; newDesc: ImageDescriptionHandle; VAR equivalent: BOOLEAN): OSErr;
  752.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  753.     INLINE $203C, $000C, $0065, $AAA3;
  754.     {$ENDC}
  755. FUNCTION GetCompressedImageSize(desc: ImageDescriptionHandle; data: Ptr; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; VAR dataSize: LONGINT): OSErr;
  756.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  757.     INLINE $701C, $AAA3;
  758.     {$ENDC}
  759. FUNCTION GetSimilarity(src: PixMapHandle; {CONST}VAR srcRect: Rect; desc: ImageDescriptionHandle; data: Ptr; VAR similarity: Fixed): OSErr;
  760.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  761.     INLINE $701D, $AAA3;
  762.     {$ENDC}
  763.  
  764. CONST
  765.     kImageDescriptionSampleFormat = 'idfm';                        {  image description extension describing sample format }
  766.     kImageDescriptionClassicAtomFormat = 'atom';                {  sample contains classic atom structure (ie, GX codec and Curve codec) }
  767.     kImageDescriptionQTAtomFormat = 'qtat';                        {  sample contains QT atom structure }
  768.     kImageDescriptionEffectDataFormat = 'fxat';                    {  sample describes an effect (as QTAtoms) }
  769.     kImageDescriptionPrivateDataFormat = 'priv';                {  sample is in a private codec specific format }
  770.     kImageDescriptionAlternateCodec = 'subs';                    {  image description extension containing the OSType of a substitute codec should the main codec not be available }
  771.  
  772. FUNCTION GetImageDescriptionCTable(desc: ImageDescriptionHandle; VAR ctable: CTabHandle): OSErr;
  773.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  774.     INLINE $701E, $AAA3;
  775.     {$ENDC}
  776. FUNCTION SetImageDescriptionCTable(desc: ImageDescriptionHandle; ctable: CTabHandle): OSErr;
  777.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  778.     INLINE $701F, $AAA3;
  779.     {$ENDC}
  780. FUNCTION GetImageDescriptionExtension(desc: ImageDescriptionHandle; VAR extension: Handle; idType: LONGINT; index: LONGINT): OSErr;
  781.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  782.     INLINE $7020, $AAA3;
  783.     {$ENDC}
  784. FUNCTION AddImageDescriptionExtension(desc: ImageDescriptionHandle; extension: Handle; idType: LONGINT): OSErr;
  785.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  786.     INLINE $7021, $AAA3;
  787.     {$ENDC}
  788. FUNCTION RemoveImageDescriptionExtension(desc: ImageDescriptionHandle; idType: LONGINT; index: LONGINT): OSErr;
  789.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  790.     INLINE $203C, $000C, $003A, $AAA3;
  791.     {$ENDC}
  792. FUNCTION CountImageDescriptionExtensionType(desc: ImageDescriptionHandle; idType: LONGINT; VAR count: LONGINT): OSErr;
  793.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  794.     INLINE $203C, $000C, $003B, $AAA3;
  795.     {$ENDC}
  796. FUNCTION GetNextImageDescriptionExtensionType(desc: ImageDescriptionHandle; VAR idType: LONGINT): OSErr;
  797.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  798.     INLINE $203C, $0008, $003C, $AAA3;
  799.     {$ENDC}
  800. FUNCTION FindCodec(cType: CodecType; specCodec: CodecComponent; VAR compressor: CompressorComponent; VAR decompressor: DecompressorComponent): OSErr;
  801.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  802.     INLINE $7023, $AAA3;
  803.     {$ENDC}
  804. FUNCTION CompressPicture(srcPicture: PicHandle; dstPicture: PicHandle; quality: CodecQ; cType: CodecType): OSErr;
  805.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  806.     INLINE $7024, $AAA3;
  807.     {$ENDC}
  808. FUNCTION FCompressPicture(srcPicture: PicHandle; dstPicture: PicHandle; colorDepth: INTEGER; ctable: CTabHandle; quality: CodecQ; doDither: INTEGER; compressAgain: INTEGER; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent): OSErr;
  809.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  810.     INLINE $7025, $AAA3;
  811.     {$ENDC}
  812. FUNCTION CompressPictureFile(srcRefNum: INTEGER; dstRefNum: INTEGER; quality: CodecQ; cType: CodecType): OSErr;
  813.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  814.     INLINE $7026, $AAA3;
  815.     {$ENDC}
  816. FUNCTION FCompressPictureFile(srcRefNum: INTEGER; dstRefNum: INTEGER; colorDepth: INTEGER; ctable: CTabHandle; quality: CodecQ; doDither: INTEGER; compressAgain: INTEGER; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent): OSErr;
  817.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  818.     INLINE $7027, $AAA3;
  819.     {$ENDC}
  820. FUNCTION GetPictureFileHeader(refNum: INTEGER; VAR frame: Rect; VAR header: OpenCPicParams): OSErr;
  821.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  822.     INLINE $7028, $AAA3;
  823.     {$ENDC}
  824. FUNCTION DrawPictureFile(refNum: INTEGER; {CONST}VAR frame: Rect; progressProc: ICMProgressProcRecordPtr): OSErr;
  825.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  826.     INLINE $7029, $AAA3;
  827.     {$ENDC}
  828. FUNCTION DrawTrimmedPicture(srcPicture: PicHandle; {CONST}VAR frame: Rect; trimMask: RgnHandle; doDither: INTEGER; progressProc: ICMProgressProcRecordPtr): OSErr;
  829.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  830.     INLINE $702E, $AAA3;
  831.     {$ENDC}
  832. FUNCTION DrawTrimmedPictureFile(srcRefnum: INTEGER; {CONST}VAR frame: Rect; trimMask: RgnHandle; doDither: INTEGER; progressProc: ICMProgressProcRecordPtr): OSErr;
  833.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  834.     INLINE $702F, $AAA3;
  835.     {$ENDC}
  836. FUNCTION MakeThumbnailFromPicture(picture: PicHandle; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  837.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  838.     INLINE $702A, $AAA3;
  839.     {$ENDC}
  840. FUNCTION MakeThumbnailFromPictureFile(refNum: INTEGER; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  841.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  842.     INLINE $702B, $AAA3;
  843.     {$ENDC}
  844. FUNCTION MakeThumbnailFromPixMap(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  845.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  846.     INLINE $702C, $AAA3;
  847.     {$ENDC}
  848. FUNCTION TrimImage(desc: ImageDescriptionHandle; inData: Ptr; inBufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; outData: Ptr; outBufferSize: LONGINT; flushProc: ICMFlushProcRecordPtr; VAR trimRect: Rect; progressProc: ICMProgressProcRecordPtr): OSErr;
  849.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  850.     INLINE $702D, $AAA3;
  851.     {$ENDC}
  852. FUNCTION ConvertImage(srcDD: ImageDescriptionHandle; srcData: Ptr; colorDepth: INTEGER; ctable: CTabHandle; accuracy: CodecQ; quality: CodecQ; cType: CodecType; codec: CodecComponent; dstDD: ImageDescriptionHandle; dstData: Ptr): OSErr;
  853.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  854.     INLINE $7030, $AAA3;
  855.     {$ENDC}
  856. FUNCTION GetCompressedPixMapInfo(pix: PixMapPtr; VAR desc: ImageDescriptionHandle; VAR data: Ptr; VAR bufferSize: LONGINT; VAR dataProc: ICMDataProcRecord; VAR progressProc: ICMProgressProcRecord): OSErr;
  857.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  858.     INLINE $7037, $AAA3;
  859.     {$ENDC}
  860. FUNCTION SetCompressedPixMapInfo(pix: PixMapPtr; desc: ImageDescriptionHandle; data: Ptr; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr): OSErr;
  861.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  862.     INLINE $7038, $AAA3;
  863.     {$ENDC}
  864. PROCEDURE StdPix(src: PixMapPtr; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; matte: PixMapPtr; {CONST}VAR matteRect: Rect; flags: INTEGER);
  865.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  866.     INLINE $700C, $AAA3;
  867.     {$ENDC}
  868. FUNCTION TransformRgn(matrix: MatrixRecordPtr; rgn: RgnHandle): OSErr;
  869.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  870.     INLINE $7039, $AAA3;
  871.     {$ENDC}
  872.  
  873. {**********
  874.     preview stuff
  875. **********}
  876. PROCEDURE SFGetFilePreview(where: Point; prompt: Str255; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply);
  877.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  878.     INLINE $7041, $AAA3;
  879.     {$ENDC}
  880. PROCEDURE SFPGetFilePreview(where: Point; prompt: Str255; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply; dlgID: INTEGER; filterProc: ModalFilterUPP);
  881.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  882.     INLINE $7042, $AAA3;
  883.     {$ENDC}
  884. PROCEDURE StandardGetFilePreview(fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply);
  885.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  886.     INLINE $7043, $AAA3;
  887.     {$ENDC}
  888. PROCEDURE CustomGetFilePreview(fileFilter: FileFilterYDUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply; dlgID: INTEGER; where: Point; dlgHook: DlgHookYDUPP; filterProc: ModalFilterYDUPP; activeList: ActivationOrderListPtr; activateProc: ActivateYDUPP; yourDataPtr: UNIV Ptr);
  889.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  890.     INLINE $7044, $AAA3;
  891.     {$ENDC}
  892. FUNCTION MakeFilePreview(resRefNum: INTEGER; progress: ICMProgressProcRecordPtr): OSErr;
  893.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  894.     INLINE $7045, $AAA3;
  895.     {$ENDC}
  896. FUNCTION AddFilePreview(resRefNum: INTEGER; previewType: OSType; previewData: Handle): OSErr;
  897.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  898.     INLINE $7046, $AAA3;
  899.     {$ENDC}
  900.  
  901. CONST
  902.     sfpItemPreviewAreaUser        = 11;
  903.     sfpItemPreviewStaticText    = 12;
  904.     sfpItemPreviewDividerUser    = 13;
  905.     sfpItemCreatePreviewButton    = 14;
  906.     sfpItemShowPreviewButton    = 15;
  907.  
  908.  
  909. TYPE
  910.     PreviewResourceRecordPtr = ^PreviewResourceRecord;
  911.     PreviewResourceRecord = RECORD
  912.         modDate:                UInt32;
  913.         version:                INTEGER;
  914.         resType:                OSType;
  915.         resID:                    INTEGER;
  916.     END;
  917.  
  918.     PreviewResourcePtr                    = ^PreviewResourceRecord;
  919.     PreviewResource                        = ^PreviewResourcePtr;
  920. PROCEDURE AlignScreenRect(VAR rp: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  921.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  922.     INLINE $203C, $0008, $004C, $AAA3;
  923.     {$ENDC}
  924. PROCEDURE AlignWindow(wp: WindowPtr; front: BOOLEAN; {CONST}VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  925.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  926.     INLINE $203C, $000E, $004D, $AAA3;
  927.     {$ENDC}
  928. PROCEDURE DragAlignedWindow(wp: WindowPtr; startPt: Point; VAR boundsRect: Rect; VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  929.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  930.     INLINE $203C, $0014, $004E, $AAA3;
  931.     {$ENDC}
  932. FUNCTION DragAlignedGrayRgn(theRgn: RgnHandle; startPt: Point; VAR boundsRect: Rect; VAR slopRect: Rect; axis: INTEGER; actionProc: UniversalProcPtr; VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr): LONGINT;
  933.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  934.     INLINE $203C, $001E, $004F, $AAA3;
  935.     {$ENDC}
  936. FUNCTION SetCSequenceDataRateParams(seqID: ImageSequence; params: DataRateParamsPtr): OSErr;
  937.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  938.     INLINE $203C, $0008, $0050, $AAA3;
  939.     {$ENDC}
  940. FUNCTION SetCSequenceFrameNumber(seqID: ImageSequence; frameNumber: LONGINT): OSErr;
  941.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  942.     INLINE $203C, $0008, $0051, $AAA3;
  943.     {$ENDC}
  944. FUNCTION SetCSequencePreferredPacketSize(seqID: ImageSequence; preferredPacketSizeInBytes: LONGINT): OSErr;
  945.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  946.     INLINE $203C, $0008, $0078, $AAA3;
  947.     {$ENDC}
  948. FUNCTION NewImageGWorld(VAR gworld: GWorldPtr; idh: ImageDescriptionHandle; flags: GWorldFlags): OSErr;
  949.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  950.     INLINE $203C, $000C, $0052, $AAA3;
  951.     {$ENDC}
  952. FUNCTION GetCSequenceDataRateParams(seqID: ImageSequence; params: DataRateParamsPtr): OSErr;
  953.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  954.     INLINE $203C, $0008, $0053, $AAA3;
  955.     {$ENDC}
  956. FUNCTION GetCSequenceFrameNumber(seqID: ImageSequence; VAR frameNumber: LONGINT): OSErr;
  957.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  958.     INLINE $203C, $0008, $0054, $AAA3;
  959.     {$ENDC}
  960. FUNCTION GetBestDeviceRect(VAR gdh: GDHandle; VAR rp: Rect): OSErr;
  961.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  962.     INLINE $203C, $0008, $0055, $AAA3;
  963.     {$ENDC}
  964. FUNCTION SetSequenceProgressProc(seqID: ImageSequence; VAR progressProc: ICMProgressProcRecord): OSErr;
  965.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  966.     INLINE $203C, $0008, $0056, $AAA3;
  967.     {$ENDC}
  968. FUNCTION GDHasScale(gdh: GDHandle; depth: INTEGER; VAR scale: Fixed): OSErr;
  969.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  970.     INLINE $203C, $000A, $005A, $AAA3;
  971.     {$ENDC}
  972. FUNCTION GDGetScale(gdh: GDHandle; VAR scale: Fixed; VAR flags: INTEGER): OSErr;
  973.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  974.     INLINE $203C, $000C, $005B, $AAA3;
  975.     {$ENDC}
  976. FUNCTION GDSetScale(gdh: GDHandle; scale: Fixed; flags: INTEGER): OSErr;
  977.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  978.     INLINE $203C, $000A, $005C, $AAA3;
  979.     {$ENDC}
  980. FUNCTION ICMShieldSequenceCursor(seqID: ImageSequence): OSErr;
  981.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  982.     INLINE $203C, $0004, $0062, $AAA3;
  983.     {$ENDC}
  984. PROCEDURE ICMDecompressComplete(seqID: ImageSequence; err: OSErr; flag: INTEGER; completionRtn: ICMCompletionProcRecordPtr);
  985.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  986.     INLINE $203C, $000C, $0063, $AAA3;
  987.     {$ENDC}
  988. FUNCTION ICMDecompressCompleteS(seqID: ImageSequence; err: OSErr; flag: INTEGER; completionRtn: ICMCompletionProcRecordPtr): OSErr;
  989.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  990.     INLINE $203C, $000C, $0082, $AAA3;
  991.     {$ENDC}
  992. FUNCTION ICMSequenceLockBits(seqID: ImageSequence; dst: PixMapPtr; flags: LONGINT): OSErr;
  993.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  994.     INLINE $203C, $000C, $007C, $AAA3;
  995.     {$ENDC}
  996. FUNCTION ICMSequenceUnlockBits(seqID: ImageSequence; flags: LONGINT): OSErr;
  997.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  998.     INLINE $203C, $0008, $007D, $AAA3;
  999.     {$ENDC}
  1000.  
  1001. TYPE
  1002.     ICMPixelFormatInfoPtr = ^ICMPixelFormatInfo;
  1003.     ICMPixelFormatInfo = RECORD
  1004.         size:                    LONGINT;
  1005.         formatFlags:            UInt32;
  1006.         pixelSize:                INTEGER;
  1007.         reserved0:                INTEGER;
  1008.         reserved2:                LONGINT;
  1009.     END;
  1010.  
  1011. FUNCTION ICMGetPixelFormatInfo(PixelFormat: OSType; theInfo: ICMPixelFormatInfoPtr): OSErr;
  1012.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1013.     INLINE $203C, $0008, $0083, $AAA3;
  1014.     {$ENDC}
  1015.  
  1016. CONST
  1017.     kICMGetChainUltimateParent    = 0;
  1018.     kICMGetChainParent            = 1;
  1019.     kICMGetChainChild            = 2;
  1020.     kICMGetChainUltimateChild    = 3;
  1021.  
  1022. FUNCTION ICMSequenceGetChainMember(seqID: ImageSequence; VAR retSeqID: ImageSequence; flags: LONGINT): OSErr;
  1023.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1024.     INLINE $203C, $000C, $007E, $AAA3;
  1025.     {$ENDC}
  1026. FUNCTION SetDSequenceTimeCode(seqID: ImageSequence; timeCodeFormat: UNIV Ptr; timeCodeTime: UNIV Ptr): OSErr;
  1027.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1028.     INLINE $203C, $000C, $0064, $AAA3;
  1029.     {$ENDC}
  1030. FUNCTION CDSequenceNewMemory(seqID: ImageSequence; VAR data: Ptr; dataSize: Size; dataUse: LONGINT; memoryGoneProc: ICMMemoryDisposedUPP; refCon: UNIV Ptr): OSErr;
  1031.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1032.     INLINE $203C, $0018, $0066, $AAA3;
  1033.     {$ENDC}
  1034. FUNCTION CDSequenceDisposeMemory(seqID: ImageSequence; data: Ptr): OSErr;
  1035.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1036.     INLINE $203C, $0008, $0067, $AAA3;
  1037.     {$ENDC}
  1038. FUNCTION CDSequenceNewDataSource(seqID: ImageSequence; VAR sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: LONGINT; dataDescription: Handle; transferProc: UNIV Ptr; refCon: UNIV Ptr): OSErr;
  1039.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1040.     INLINE $203C, $001C, $0068, $AAA3;
  1041.     {$ENDC}
  1042. FUNCTION CDSequenceDisposeDataSource(sourceID: ImageSequenceDataSource): OSErr;
  1043.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1044.     INLINE $203C, $0004, $0069, $AAA3;
  1045.     {$ENDC}
  1046. FUNCTION CDSequenceSetSourceData(sourceID: ImageSequenceDataSource; data: UNIV Ptr; dataSize: LONGINT): OSErr;
  1047.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1048.     INLINE $203C, $000C, $006A, $AAA3;
  1049.     {$ENDC}
  1050. FUNCTION CDSequenceChangedSourceData(sourceID: ImageSequenceDataSource): OSErr;
  1051.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1052.     INLINE $203C, $0004, $006B, $AAA3;
  1053.     {$ENDC}
  1054. FUNCTION CDSequenceSetSourceDataQueue(sourceID: ImageSequenceDataSource; dataQueue: QHdrPtr): OSErr;
  1055.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1056.     INLINE $203C, $0008, $007B, $AAA3;
  1057.     {$ENDC}
  1058. FUNCTION CDSequenceGetDataSource(seqID: ImageSequence; VAR sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: LONGINT): OSErr;
  1059.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1060.     INLINE $203C, $0010, $007F, $AAA3;
  1061.     {$ENDC}
  1062. FUNCTION PtInDSequenceData(seqID: ImageSequence; data: UNIV Ptr; dataSize: Size; where: Point; VAR hit: BOOLEAN): OSErr;
  1063.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1064.     INLINE $203C, $0014, $006C, $AAA3;
  1065.     {$ENDC}
  1066. FUNCTION HitTestDSequenceData(seqID: ImageSequence; data: UNIV Ptr; dataSize: Size; where: Point; VAR hit: LONGINT; hitFlags: LONGINT): OSErr;
  1067.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1068.     INLINE $203C, $0006, $0087, $AAA3;
  1069.     {$ENDC}
  1070. FUNCTION GetGraphicsImporterForFile({CONST}VAR theFile: FSSpec; VAR gi: ComponentInstance): OSErr;
  1071.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1072.     INLINE $203C, $0008, $006E, $AAA3;
  1073.     {$ENDC}
  1074. FUNCTION GetGraphicsImporterForDataRef(dataRef: Handle; dataRefType: OSType; VAR gi: ComponentInstance): OSErr;
  1075.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1076.     INLINE $203C, $000C, $0077, $AAA3;
  1077.     {$ENDC}
  1078.  
  1079. CONST
  1080.     kDontUseValidateToFindGraphicsImporter = $00000001;
  1081.  
  1082. FUNCTION GetGraphicsImporterForFileWithFlags({CONST}VAR theFile: FSSpec; VAR gi: ComponentInstance; flags: LONGINT): OSErr;
  1083.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1084.     INLINE $203C, $000C, $0084, $AAA3;
  1085.     {$ENDC}
  1086. FUNCTION GetGraphicsImporterForDataRefWithFlags(dataRef: Handle; dataRefType: OSType; VAR gi: ComponentInstance; flags: LONGINT): OSErr;
  1087.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1088.     INLINE $203C, $0010, $0085, $AAA3;
  1089.     {$ENDC}
  1090. FUNCTION QTGetFileNameExtension(fileName: ConstStrFileNameParam; fileType: OSType; VAR extension: OSType): OSErr;
  1091.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1092.     INLINE $203C, $000C, $0061, $AAA3;
  1093.     {$ENDC}
  1094. FUNCTION ImageTranscodeSequenceBegin(VAR its: ImageTranscodeSequence; srcDesc: ImageDescriptionHandle; destType: OSType; VAR dstDesc: ImageDescriptionHandle; data: UNIV Ptr; dataSize: LONGINT): OSErr;
  1095.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1096.     INLINE $203C, $0018, $006F, $AAA3;
  1097.     {$ENDC}
  1098. FUNCTION ImageTranscodeSequenceEnd(its: ImageTranscodeSequence): OSErr;
  1099.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1100.     INLINE $203C, $0004, $0070, $AAA3;
  1101.     {$ENDC}
  1102. FUNCTION ImageTranscodeFrame(its: ImageTranscodeSequence; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): OSErr;
  1103.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1104.     INLINE $203C, $0014, $0071, $AAA3;
  1105.     {$ENDC}
  1106. FUNCTION ImageTranscodeDisposeFrameData(its: ImageTranscodeSequence; dstData: UNIV Ptr): OSErr;
  1107.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1108.     INLINE $203C, $0008, $0072, $AAA3;
  1109.     {$ENDC}
  1110. FUNCTION CDSequenceInvalidate(seqID: ImageSequence; invalRgn: RgnHandle): OSErr;
  1111.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1112.     INLINE $203C, $0008, $0073, $AAA3;
  1113.     {$ENDC}
  1114. FUNCTION CDSequenceSetTimeBase(seqID: ImageSequence; base: UNIV Ptr): OSErr;
  1115.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1116.     INLINE $203C, $0008, $0079, $AAA3;
  1117.     {$ENDC}
  1118. FUNCTION ImageFieldSequenceBegin(VAR ifs: ImageFieldSequence; desc1: ImageDescriptionHandle; desc2: ImageDescriptionHandle; descOut: ImageDescriptionHandle): OSErr;
  1119.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1120.     INLINE $203C, $0010, $006D, $AAA3;
  1121.     {$ENDC}
  1122. FUNCTION ImageFieldSequenceExtractCombine(ifs: ImageFieldSequence; fieldFlags: LONGINT; data1: UNIV Ptr; dataSize1: LONGINT; data2: UNIV Ptr; dataSize2: LONGINT; outputData: UNIV Ptr; VAR outDataSize: LONGINT): OSErr;
  1123.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1124.     INLINE $203C, $0020, $0075, $AAA3;
  1125.     {$ENDC}
  1126. FUNCTION ImageFieldSequenceEnd(ifs: ImageFieldSequence): OSErr;
  1127.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1128.     INLINE $203C, $0004, $0076, $AAA3;
  1129.     {$ENDC}
  1130.  
  1131. CONST
  1132.     kICMTempThenAppMemory        = $00001000;
  1133.     kICMAppThenTempMemory        = $00002000;
  1134.  
  1135. FUNCTION QTNewGWorld(VAR offscreenGWorld: GWorldPtr; PixelFormat: OSType; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): OSErr;
  1136.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1137.     INLINE $203C, $0018, $0080, $AAA3;
  1138.     {$ENDC}
  1139. FUNCTION QTUpdateGWorld(VAR offscreenGWorld: GWorldPtr; PixelFormat: OSType; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  1140.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1141.     INLINE $203C, $0018, $0081, $AAA3;
  1142.     {$ENDC}
  1143. FUNCTION MakeImageDescriptionForPixMap(pixmap: PixMapHandle; VAR idh: ImageDescriptionHandle): OSErr;
  1144.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1145.     INLINE $203C, $0008, $007A, $AAA3;
  1146.     {$ENDC}
  1147. FUNCTION QTGetPixelSize(PixelFormat: OSType): INTEGER;
  1148.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1149.     INLINE $203C, $0004, $0086, $AAA3;
  1150.     {$ENDC}
  1151.  
  1152.  
  1153.  
  1154. CONST
  1155.     identityMatrixType            = $00;                            {  result if matrix is identity  }
  1156.     translateMatrixType            = $01;                            {  result if matrix translates  }
  1157.     scaleMatrixType                = $02;                            {  result if matrix scales  }
  1158.     scaleTranslateMatrixType    = $03;                            {  result if matrix scales and translates  }
  1159.     linearMatrixType            = $04;                            {  result if matrix is general 2 x 2  }
  1160.     linearTranslateMatrixType    = $05;                            {  result if matrix is general 2 x 2 and translates  }
  1161.     perspectiveMatrixType        = $06;                            {  result if matrix is general 3 x 3  }
  1162.  
  1163.  
  1164. TYPE
  1165.     MatrixFlags                            = UInt16;
  1166. FUNCTION GetMatrixType({CONST}VAR m: MatrixRecord): INTEGER;
  1167.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1168.     INLINE $7014, $ABC2;
  1169.     {$ENDC}
  1170. PROCEDURE CopyMatrix({CONST}VAR m1: MatrixRecord; VAR m2: MatrixRecord);
  1171.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1172.     INLINE $7020, $ABC2;
  1173.     {$ENDC}
  1174. FUNCTION EqualMatrix({CONST}VAR m1: MatrixRecord; {CONST}VAR m2: MatrixRecord): BOOLEAN;
  1175.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1176.     INLINE $7021, $ABC2;
  1177.     {$ENDC}
  1178. PROCEDURE SetIdentityMatrix(VAR matrix: MatrixRecord);
  1179.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1180.     INLINE $7015, $ABC2;
  1181.     {$ENDC}
  1182. PROCEDURE TranslateMatrix(VAR m: MatrixRecord; deltaH: Fixed; deltaV: Fixed);
  1183.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1184.     INLINE $7019, $ABC2;
  1185.     {$ENDC}
  1186. PROCEDURE RotateMatrix(VAR m: MatrixRecord; degrees: Fixed; aboutX: Fixed; aboutY: Fixed);
  1187.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1188.     INLINE $7016, $ABC2;
  1189.     {$ENDC}
  1190. PROCEDURE ScaleMatrix(VAR m: MatrixRecord; scaleX: Fixed; scaleY: Fixed; aboutX: Fixed; aboutY: Fixed);
  1191.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1192.     INLINE $7017, $ABC2;
  1193.     {$ENDC}
  1194. PROCEDURE SkewMatrix(VAR m: MatrixRecord; skewX: Fixed; skewY: Fixed; aboutX: Fixed; aboutY: Fixed);
  1195.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1196.     INLINE $7018, $ABC2;
  1197.     {$ENDC}
  1198. FUNCTION TransformFixedPoints({CONST}VAR m: MatrixRecord; VAR fpt: FixedPoint; count: LONGINT): OSErr;
  1199.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1200.     INLINE $7022, $ABC2;
  1201.     {$ENDC}
  1202. FUNCTION TransformPoints({CONST}VAR mp: MatrixRecord; VAR pt1: Point; count: LONGINT): OSErr;
  1203.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1204.     INLINE $7023, $ABC2;
  1205.     {$ENDC}
  1206. FUNCTION TransformFixedRect({CONST}VAR m: MatrixRecord; VAR fr: FixedRect; VAR fpp: FixedPoint): BOOLEAN;
  1207.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1208.     INLINE $7024, $ABC2;
  1209.     {$ENDC}
  1210. FUNCTION TransformRect({CONST}VAR m: MatrixRecord; VAR r: Rect; VAR fpp: FixedPoint): BOOLEAN;
  1211.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1212.     INLINE $7025, $ABC2;
  1213.     {$ENDC}
  1214. FUNCTION InverseMatrix({CONST}VAR m: MatrixRecord; VAR im: MatrixRecord): BOOLEAN;
  1215.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1216.     INLINE $701C, $ABC2;
  1217.     {$ENDC}
  1218. PROCEDURE ConcatMatrix({CONST}VAR a: MatrixRecord; VAR b: MatrixRecord);
  1219.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1220.     INLINE $701B, $ABC2;
  1221.     {$ENDC}
  1222. PROCEDURE RectMatrix(VAR matrix: MatrixRecord; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect);
  1223.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1224.     INLINE $701E, $ABC2;
  1225.     {$ENDC}
  1226. PROCEDURE MapMatrix(VAR matrix: MatrixRecord; {CONST}VAR fromRect: Rect; {CONST}VAR toRect: Rect);
  1227.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1228.     INLINE $701D, $ABC2;
  1229.     {$ENDC}
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236. PROCEDURE CompAdd(VAR src: wide; VAR dst: wide);
  1237.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1238.     INLINE $7001, $ABC2;
  1239.     {$ENDC}
  1240. PROCEDURE CompSub(VAR src: wide; VAR dst: wide);
  1241.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1242.     INLINE $7002, $ABC2;
  1243.     {$ENDC}
  1244. PROCEDURE CompNeg(VAR dst: wide);
  1245.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1246.     INLINE $7003, $ABC2;
  1247.     {$ENDC}
  1248. PROCEDURE CompShift(VAR src: wide; shift: INTEGER);
  1249.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1250.     INLINE $7004, $ABC2;
  1251.     {$ENDC}
  1252. PROCEDURE CompMul(src1: LONGINT; src2: LONGINT; VAR dst: wide);
  1253.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1254.     INLINE $7005, $ABC2;
  1255.     {$ENDC}
  1256. FUNCTION CompDiv(VAR numerator: wide; denominator: LONGINT; VAR remainder: LONGINT): LONGINT;
  1257.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1258.     INLINE $7006, $ABC2;
  1259.     {$ENDC}
  1260. PROCEDURE CompFixMul(VAR compSrc: wide; fixSrc: Fixed; VAR compDst: wide);
  1261.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1262.     INLINE $7007, $ABC2;
  1263.     {$ENDC}
  1264. PROCEDURE CompMulDiv(VAR co: wide; mul: LONGINT; divisor: LONGINT);
  1265.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1266.     INLINE $7008, $ABC2;
  1267.     {$ENDC}
  1268. PROCEDURE CompMulDivTrunc(VAR co: wide; mul: LONGINT; divisor: LONGINT; VAR remainder: LONGINT);
  1269.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1270.     INLINE $700C, $ABC2;
  1271.     {$ENDC}
  1272. FUNCTION CompCompare(VAR a: wide; VAR minusb: wide): LONGINT;
  1273.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1274.     INLINE $7009, $ABC2;
  1275.     {$ENDC}
  1276. FUNCTION CompSquareRoot({CONST}VAR src: wide): UInt32;
  1277.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1278.     INLINE $7011, $ABC2;
  1279.     {$ENDC}
  1280. FUNCTION FixMulDiv(src: Fixed; mul: Fixed; divisor: Fixed): Fixed;
  1281.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1282.     INLINE $700A, $ABC2;
  1283.     {$ENDC}
  1284. FUNCTION UnsignedFixMulDiv(src: Fixed; mul: Fixed; divisor: Fixed): Fixed;
  1285.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1286.     INLINE $700D, $ABC2;
  1287.     {$ENDC}
  1288. FUNCTION FracSinCos(degree: Fixed; VAR cosOut: Fract): Fract;
  1289.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1290.     INLINE $700B, $ABC2;
  1291.     {$ENDC}
  1292. FUNCTION FixExp2(src: Fixed): Fixed;
  1293.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1294.     INLINE $700E, $ABC2;
  1295.     {$ENDC}
  1296. FUNCTION FixLog2(src: Fixed): Fixed;
  1297.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1298.     INLINE $700F, $ABC2;
  1299.     {$ENDC}
  1300. FUNCTION FixPow(base: Fixed; exp: Fixed): Fixed;
  1301.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1302.     INLINE $7010, $ABC2;
  1303.     {$ENDC}
  1304.  
  1305.  
  1306.  
  1307.  
  1308. TYPE
  1309.     GraphicsImportComponent                = ComponentInstance;
  1310.  
  1311. CONST
  1312.     GraphicsImporterComponentType = 'grip';
  1313.  
  1314.     graphicsImporterUsesImageDecompressor = $00800000;
  1315.  
  1316.     quickTimeImageFileImageDescriptionAtom = 'idsc';
  1317.     quickTimeImageFileImageDataAtom = 'idat';
  1318.     quickTimeImageFileMetaDataAtom = 'meta';
  1319.  
  1320.     graphicsImporterDrawsAllPixels = 0;
  1321.     graphicsImporterDoesntDrawAllPixels = 1;
  1322.     graphicsImporterDontKnowIfDrawAllPixels = 2;
  1323.  
  1324.     kGraphicsExportGroup        = 'expo';
  1325.     kGraphicsExportFileType        = 'ftyp';
  1326.     kGraphicsExportMIMEType        = 'mime';
  1327.     kGraphicsExportExtension    = 'ext ';
  1328.     kGraphicsExportDescription    = 'desc';
  1329.  
  1330.  
  1331. {* These are GraphicsImport procedures *}
  1332. FUNCTION GraphicsImportSetDataReference(ci: GraphicsImportComponent; dataRef: Handle; dataReType: OSType): ComponentResult;
  1333.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1334.     INLINE $2F3C, $0008, $0001, $7000, $A82A;
  1335.     {$ENDC}
  1336. FUNCTION GraphicsImportGetDataReference(ci: GraphicsImportComponent; VAR dataRef: Handle; VAR dataReType: OSType): ComponentResult;
  1337.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1338.     INLINE $2F3C, $0008, $0002, $7000, $A82A;
  1339.     {$ENDC}
  1340. FUNCTION GraphicsImportSetDataFile(ci: GraphicsImportComponent; {CONST}VAR theFile: FSSpec): ComponentResult;
  1341.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1342.     INLINE $2F3C, $0004, $0003, $7000, $A82A;
  1343.     {$ENDC}
  1344. FUNCTION GraphicsImportGetDataFile(ci: GraphicsImportComponent; VAR theFile: FSSpec): ComponentResult;
  1345.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1346.     INLINE $2F3C, $0004, $0004, $7000, $A82A;
  1347.     {$ENDC}
  1348. FUNCTION GraphicsImportSetDataHandle(ci: GraphicsImportComponent; h: Handle): ComponentResult;
  1349.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1350.     INLINE $2F3C, $0004, $0005, $7000, $A82A;
  1351.     {$ENDC}
  1352. FUNCTION GraphicsImportGetDataHandle(ci: GraphicsImportComponent; VAR h: Handle): ComponentResult;
  1353.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1354.     INLINE $2F3C, $0004, $0006, $7000, $A82A;
  1355.     {$ENDC}
  1356. FUNCTION GraphicsImportGetImageDescription(ci: GraphicsImportComponent; VAR desc: ImageDescriptionHandle): ComponentResult;
  1357.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1358.     INLINE $2F3C, $0004, $0007, $7000, $A82A;
  1359.     {$ENDC}
  1360. FUNCTION GraphicsImportGetDataOffsetAndSize(ci: GraphicsImportComponent; VAR offset: UInt32; VAR size: UInt32): ComponentResult;
  1361.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1362.     INLINE $2F3C, $0008, $0008, $7000, $A82A;
  1363.     {$ENDC}
  1364. FUNCTION GraphicsImportReadData(ci: GraphicsImportComponent; dataPtr: UNIV Ptr; dataOffset: UInt32; dataSize: UInt32): ComponentResult;
  1365.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1366.     INLINE $2F3C, $000C, $0009, $7000, $A82A;
  1367.     {$ENDC}
  1368. FUNCTION GraphicsImportSetClip(ci: GraphicsImportComponent; clipRgn: RgnHandle): ComponentResult;
  1369.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1370.     INLINE $2F3C, $0004, $000A, $7000, $A82A;
  1371.     {$ENDC}
  1372. FUNCTION GraphicsImportGetClip(ci: GraphicsImportComponent; VAR clipRgn: RgnHandle): ComponentResult;
  1373.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1374.     INLINE $2F3C, $0004, $000B, $7000, $A82A;
  1375.     {$ENDC}
  1376. FUNCTION GraphicsImportSetSourceRect(ci: GraphicsImportComponent; {CONST}VAR sourceRect: Rect): ComponentResult;
  1377.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1378.     INLINE $2F3C, $0004, $000C, $7000, $A82A;
  1379.     {$ENDC}
  1380. FUNCTION GraphicsImportGetSourceRect(ci: GraphicsImportComponent; VAR sourceRect: Rect): ComponentResult;
  1381.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1382.     INLINE $2F3C, $0004, $000D, $7000, $A82A;
  1383.     {$ENDC}
  1384. FUNCTION GraphicsImportGetNaturalBounds(ci: GraphicsImportComponent; VAR naturalBounds: Rect): ComponentResult;
  1385.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1386.     INLINE $2F3C, $0004, $000E, $7000, $A82A;
  1387.     {$ENDC}
  1388. FUNCTION GraphicsImportDraw(ci: GraphicsImportComponent): ComponentResult;
  1389.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1390.     INLINE $2F3C, $0000, $000F, $7000, $A82A;
  1391.     {$ENDC}
  1392. FUNCTION GraphicsImportSetGWorld(ci: GraphicsImportComponent; port: CGrafPtr; gd: GDHandle): ComponentResult;
  1393.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1394.     INLINE $2F3C, $0008, $0010, $7000, $A82A;
  1395.     {$ENDC}
  1396. FUNCTION GraphicsImportGetGWorld(ci: GraphicsImportComponent; VAR port: CGrafPtr; VAR gd: GDHandle): ComponentResult;
  1397.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1398.     INLINE $2F3C, $0008, $0011, $7000, $A82A;
  1399.     {$ENDC}
  1400. FUNCTION GraphicsImportSetMatrix(ci: GraphicsImportComponent; {CONST}VAR matrix: MatrixRecord): ComponentResult;
  1401.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1402.     INLINE $2F3C, $0004, $0012, $7000, $A82A;
  1403.     {$ENDC}
  1404. FUNCTION GraphicsImportGetMatrix(ci: GraphicsImportComponent; VAR matrix: MatrixRecord): ComponentResult;
  1405.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1406.     INLINE $2F3C, $0004, $0013, $7000, $A82A;
  1407.     {$ENDC}
  1408. FUNCTION GraphicsImportSetBoundsRect(ci: GraphicsImportComponent; {CONST}VAR bounds: Rect): ComponentResult;
  1409.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1410.     INLINE $2F3C, $0004, $0014, $7000, $A82A;
  1411.     {$ENDC}
  1412. FUNCTION GraphicsImportGetBoundsRect(ci: GraphicsImportComponent; VAR bounds: Rect): ComponentResult;
  1413.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1414.     INLINE $2F3C, $0004, $0015, $7000, $A82A;
  1415.     {$ENDC}
  1416. FUNCTION GraphicsImportSaveAsPicture(ci: GraphicsImportComponent; {CONST}VAR fss: FSSpec; scriptTag: ScriptCode): ComponentResult;
  1417.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1418.     INLINE $2F3C, $0006, $0016, $7000, $A82A;
  1419.     {$ENDC}
  1420. FUNCTION GraphicsImportSetGraphicsMode(ci: GraphicsImportComponent; graphicsMode: LONGINT; {CONST}VAR opColor: RGBColor): ComponentResult;
  1421.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1422.     INLINE $2F3C, $0008, $0017, $7000, $A82A;
  1423.     {$ENDC}
  1424. FUNCTION GraphicsImportGetGraphicsMode(ci: GraphicsImportComponent; VAR graphicsMode: LONGINT; VAR opColor: RGBColor): ComponentResult;
  1425.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1426.     INLINE $2F3C, $0008, $0018, $7000, $A82A;
  1427.     {$ENDC}
  1428. FUNCTION GraphicsImportSetQuality(ci: GraphicsImportComponent; quality: CodecQ): ComponentResult;
  1429.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1430.     INLINE $2F3C, $0004, $0019, $7000, $A82A;
  1431.     {$ENDC}
  1432. FUNCTION GraphicsImportGetQuality(ci: GraphicsImportComponent; VAR quality: CodecQ): ComponentResult;
  1433.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1434.     INLINE $2F3C, $0004, $001A, $7000, $A82A;
  1435.     {$ENDC}
  1436. FUNCTION GraphicsImportSaveAsQuickTimeImageFile(ci: GraphicsImportComponent; {CONST}VAR fss: FSSpec; scriptTag: ScriptCode): ComponentResult;
  1437.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1438.     INLINE $2F3C, $0006, $001B, $7000, $A82A;
  1439.     {$ENDC}
  1440. FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit(ci: GraphicsImportComponent; offset: UInt32; limit: UInt32): ComponentResult;
  1441.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1442.     INLINE $2F3C, $0008, $001C, $7000, $A82A;
  1443.     {$ENDC}
  1444. FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit(ci: GraphicsImportComponent; VAR offset: UInt32; VAR limit: UInt32): ComponentResult;
  1445.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1446.     INLINE $2F3C, $0008, $001D, $7000, $A82A;
  1447.     {$ENDC}
  1448. FUNCTION GraphicsImportGetAliasedDataReference(ci: GraphicsImportComponent; VAR dataRef: Handle; VAR dataRefType: OSType): ComponentResult;
  1449.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1450.     INLINE $2F3C, $0008, $001E, $7000, $A82A;
  1451.     {$ENDC}
  1452. FUNCTION GraphicsImportValidate(ci: GraphicsImportComponent; VAR valid: BOOLEAN): ComponentResult;
  1453.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1454.     INLINE $2F3C, $0004, $001F, $7000, $A82A;
  1455.     {$ENDC}
  1456. FUNCTION GraphicsImportGetMetaData(ci: GraphicsImportComponent; userData: UNIV Ptr): ComponentResult;
  1457.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1458.     INLINE $2F3C, $0004, $0020, $7000, $A82A;
  1459.     {$ENDC}
  1460. FUNCTION GraphicsImportGetMIMETypeList(ci: GraphicsImportComponent; qtAtomContainerPtr: UNIV Ptr): ComponentResult;
  1461.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1462.     INLINE $2F3C, $0004, $0021, $7000, $A82A;
  1463.     {$ENDC}
  1464. FUNCTION GraphicsImportDoesDrawAllPixels(ci: GraphicsImportComponent; VAR drawsAllPixels: INTEGER): ComponentResult;
  1465.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1466.     INLINE $2F3C, $0004, $0022, $7000, $A82A;
  1467.     {$ENDC}
  1468. FUNCTION GraphicsImportGetAsPicture(ci: GraphicsImportComponent; VAR picture: PicHandle): ComponentResult;
  1469.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1470.     INLINE $2F3C, $0004, $0023, $7000, $A82A;
  1471.     {$ENDC}
  1472. FUNCTION GraphicsImportExportImageFile(ci: GraphicsImportComponent; fileType: OSType; fileCreator: OSType; {CONST}VAR fss: FSSpec; scriptTag: ScriptCode): ComponentResult;
  1473.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1474.     INLINE $2F3C, $000E, $0024, $7000, $A82A;
  1475.     {$ENDC}
  1476. FUNCTION GraphicsImportGetExportImageTypeList(ci: GraphicsImportComponent; qtAtomContainerPtr: UNIV Ptr): ComponentResult;
  1477.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1478.     INLINE $2F3C, $0004, $0025, $7000, $A82A;
  1479.     {$ENDC}
  1480. FUNCTION GraphicsImportDoExportImageFileDialog(ci: GraphicsImportComponent; {CONST}VAR inDefaultSpec: FSSpec; prompt: StringPtr; filterProc: ModalFilterYDUPP; VAR outExportedType: OSType; VAR outExportedSpec: FSSpec; VAR outScriptTag: ScriptCode): ComponentResult;
  1481.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1482.     INLINE $2F3C, $0018, $0026, $7000, $A82A;
  1483.     {$ENDC}
  1484. FUNCTION GraphicsImportGetExportSettingsAsAtomContainer(ci: GraphicsImportComponent; qtAtomContainerPtr: UNIV Ptr): ComponentResult;
  1485.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1486.     INLINE $2F3C, $0004, $0027, $7000, $A82A;
  1487.     {$ENDC}
  1488. FUNCTION GraphicsImportSetExportSettingsFromAtomContainer(ci: GraphicsImportComponent; qtAtomContainer: UNIV Ptr): ComponentResult;
  1489.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1490.     INLINE $2F3C, $0004, $0028, $7000, $A82A;
  1491.     {$ENDC}
  1492. FUNCTION GraphicsImportSetProgressProc(ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr): ComponentResult;
  1493.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1494.     INLINE $2F3C, $0004, $0029, $7000, $A82A;
  1495.     {$ENDC}
  1496. FUNCTION GraphicsImportGetProgressProc(ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr): ComponentResult;
  1497.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1498.     INLINE $2F3C, $0004, $002A, $7000, $A82A;
  1499.     {$ENDC}
  1500.  
  1501.  
  1502. TYPE
  1503.     ImageTranscoderComponent            = ComponentInstance;
  1504.  
  1505. CONST
  1506.     ImageTranscodererComponentType = 'imtc';
  1507.  
  1508.  
  1509. {* These are ImageTranscoder procedures *}
  1510. FUNCTION ImageTranscoderBeginSequence(itc: ImageTranscoderComponent; srcDesc: ImageDescriptionHandle; VAR dstDesc: ImageDescriptionHandle; data: UNIV Ptr; dataSize: LONGINT): ComponentResult;
  1511.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1512.     INLINE $2F3C, $0010, $0001, $7000, $A82A;
  1513.     {$ENDC}
  1514. FUNCTION ImageTranscoderConvert(itc: ImageTranscoderComponent; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): ComponentResult;
  1515.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1516.     INLINE $2F3C, $0010, $0002, $7000, $A82A;
  1517.     {$ENDC}
  1518. FUNCTION ImageTranscoderDisposeData(itc: ImageTranscoderComponent; dstData: UNIV Ptr): ComponentResult;
  1519.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1520.     INLINE $2F3C, $0004, $0003, $7000, $A82A;
  1521.     {$ENDC}
  1522. FUNCTION ImageTranscoderEndSequence(itc: ImageTranscoderComponent): ComponentResult;
  1523.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1524.     INLINE $2F3C, $0000, $0004, $7000, $A82A;
  1525.     {$ENDC}
  1526. { UPP call backs }
  1527. {$ALIGN RESET}
  1528. {$POP}
  1529.  
  1530. {$SETC UsingIncludes := ImageCompressionIncludes}
  1531.  
  1532. {$ENDC} {__IMAGECOMPRESSION__}
  1533.  
  1534. {$IFC NOT UsingIncludes}
  1535.  END.
  1536. {$ENDC}
  1537.